import router from './router'
import store from './store'
import { CacheUtils } from './utils/cacheUtils.js';
import {setRoutes} from "./router";

router.beforeEach((to, from, next) => {
  // 切换路由清除缓存
  CacheUtils.clearCache();
  // 网页卸载前清除缓存
  window.addEventListener('beforeunload', () => CacheUtils.clearCache(), false);

  const whiteList = ['/login', '/register'] // no redirect whitelist
  let user = localStorage.getItem("user")
  console.log("用户",user)
  localStorage.setItem("currentPathName", to.name)  // 设置当前的路由名称
  store.commit("setPath") // 汉堡包那里用到的
  console.log("to",to)

  if (user){
      const storeMenus = localStorage.getItem("menus") // 去获取menus
      // 未找到路由的情况  ==> 跳转的路由是没有的
      if (!to.matched.length) {
          console.log("跳转的路由是没有的")
          if (storeMenus) { // 就是已登录
              // next("/404")

          } else {
              // 跳回登录页面
              next("/login")
          }
      }else {
          next() // 放行
      }

  }else {
      // 未登录时，注意 ：在这里也许你的项目不只有 login 不需要登录 ，register 等其他不需要登录的页面也需要处理
      // if (to.path !== '/login') {
      //     next({ path: '/login' })
      // } else {
      //     next()
      // }

      // 白名单直接放行
      if (whiteList.indexOf(to.path) !== -1) {
          next()
      } else {
          // other pages that 没有 权限 to access are 重定向至 the login page.
          next(`/login?redirect=${to.path}`)
      }
  }

})

